using System;
using System.Collections.Generic;
using System.Text;

namespace TcKs.MSOffice.WrapperAssembliesCodeGenerator.Model {
	/// <summary>
	/// Interface for any type member.
	/// </summary>
	public interface IMemberDef : IAttributeOwnerDef {
		ITypeDef MemberType { get;set;}
		string Name { get;set;}
	}

	/// <summary>
	/// Base class for any type member.
	/// </summary>
	public abstract class MemberDefBase : AttributeOwnerDefBase {
		private ITypeDef z_MemberType;
		public ITypeDef MemberType {
			get { return this.z_MemberType; }
			set { this.z_MemberType = value; }
		}

		private string z_Name;
		public string Name {
			get { return this.z_Name; }
			set { this.z_Name = value; }
		}

		protected MemberDefBase() { }
		protected MemberDefBase( ITypeDef memberType, string name ) {
			this.MemberType = memberType;
			this.Name = name;
		}
	}
}
